home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / tex / tools / dvi_300b / treiber / sources / block_by.s < prev    next >
Text File  |  1995-11-25  |  940b  |  59 lines

  1.  
  2. export    block_it
  3.  
  4.     TEXT
  5. ; **** Macht den "Nadeldreher": Aufruf: 
  6. ; **** block_it( *dest, *src, bweite, offset, bytes_per_spalte )
  7. block_it:
  8.     MOVEM.L    A2/D2-D6,-(A7)
  9.     SUBQ    #1,    D0
  10.     SUBQ    #1,    D2
  11. loop1:    ; i-loop
  12.     MOVEQ    #7,    D3
  13. loop2:    ; j-loop
  14.     MOVE.W    D2,    D4    ; Wie viele Bytes?
  15.     MOVEA.L    A1,    A2
  16. loop3:    ; k-loop
  17.     MOVEQ    #0,    D6
  18.     BTST    D3,     (A2)
  19.     BEQ    ns0
  20.     BSET    #7,    D6
  21. ns0:    ADDA.L    D1,    A2
  22.     BTST    D3,     (A2)
  23.     BEQ    ns1
  24.     BSET    #6,    D6
  25. ns1:    ADDA.L    D1,    A2
  26.     BTST    D3,     (A2)
  27.     BEQ    ns2
  28.     BSET    #5,    D6
  29. ns2:    ADDA.L    D1,    A2
  30.     BTST    D3,     (A2)
  31.     BEQ    ns3
  32.     BSET    #4,    D6
  33. ns3:    ADDA.L    D1,    A2
  34.     BTST    D3,     (A2)
  35.     BEQ    ns4
  36.     BSET    #3,    D6
  37. ns4:    ADDA.L    D1,    A2
  38.     BTST    D3,     (A2)
  39.     BEQ    ns5
  40.     BSET    #2,    D6
  41. ns5:    ADDA.L    D1,    A2
  42.     BTST    D3,     (A2)
  43.     BEQ    ns6
  44.     BSET    #1,    D6
  45. ns6:    ADDA.L    D1,    A2
  46.     BTST    D3,     (A2)
  47.     BEQ    ns7
  48.     BSET    #0,    D6
  49. ns7:    ADDA.L    D1,    A2
  50.     MOVE.B    D6,    (A0)+
  51.     DBF    D4,    loop3
  52.  
  53.     DBF    D3,    loop2
  54.  
  55.     ADDQ.L    #1,    A1
  56.     DBF    D0,    loop1
  57.     MOVEM.L    (A7)+,    A2/D2-D6
  58.     RTS
  59.